//package com.sxkiler.demo.junitcase;
//
//import org.apache.solr.client.solrj.SolrClient;
//import org.apache.solr.client.solrj.SolrQuery;
//import org.apache.solr.client.solrj.impl.HttpSolrClient;
//import org.apache.solr.client.solrj.response.QueryResponse;
//import org.apache.solr.client.solrj.util.ClientUtils;
//import org.apache.solr.common.SolrDocument;
//import org.apache.solr.common.SolrDocumentList;
//import org.apache.solr.common.SolrInputDocument;
//import org.junit.jupiter.api.Test;
//
//import java.util.*;
//import com.sxkiler.demo.model.*;
//
//public class SolrTestCase {
//
//    @Test
//    public void testBatchAddDoc() throws Exception {
//        HttpSolrClient client = new HttpSolrClient.Builder("http://172.20.176.216:9080/solr").build();
//        for(int i=0;i<400;i++){
//            long startTime = System.currentTimeMillis();
//            Collection<SolrInputDocument> solrList = new ArrayList();
//            for(int j=0;j<10000;j++){
//                Map<String,Object> doc = new HashMap<String,Object>();
//                String id = UUID.randomUUID().toString();
//                doc.put("id",id);
//                doc.put("solrTestName",NameGenerator.getName("TestName",i*10000+j));
//                doc.put("solrTestProject",NameGenerator.getName("TestProject",i*10000+j));
//                doc.put("solrTestRoom",NameGenerator.getName("TestRoom",i*10000+j));
//                doc.put("solrTestCustomer",NameGenerator.getName("TestCustomer",i*10000+j));
//                doc.put("solrTestContract",NameGenerator.getName("TestContract",i*10000+j));
//                doc.put("solrTestPhone",NameGenerator.getName("TestPhone",i*10000+j));
//
//                SolrInputDocument solrInput =  new SolrInputDocument(new String[0]);
//                Iterator<Map.Entry<String, Object>> it = doc.entrySet().iterator();
//                while (it.hasNext()){
//                    Map.Entry<String, Object> entry = (Map.Entry)it.next();
//                    solrInput.addField((String)entry.getKey(), entry.getValue());
//                }
//                solrList.add(solrInput);
//            }
//            client.add("WojiayunSolrCore", solrList, 1000);
//            client.commit();
////            client.commit();
//            long endTime = System.currentTimeMillis();
//            System.out.println("批次提交::"+i+"耗费,"+(endTime-startTime));
//        }
//
//        closeSolrClient(client);
//    }
//
//    @Test
//    public void solrRoomSearch()  throws Exception {
//        HttpSolrClient client = new HttpSolrClient.Builder("http://172.20.176.216:9080/solr").build();
//        String checkSearch  = "罚到";
//        String roomParam = "solrTestProject";
//        String searchPhrase = ClientUtils.escapeQueryChars(checkSearch).toLowerCase();
//        StringBuilder sb = new StringBuilder();
//        Map<String, String> parMap = new HashMap();
//        parMap.put("start", "0");
//        parMap.put("rows", "20");
//
//        String[] roomArray = roomParam.split(",");
//        for (int i = 0; i < roomArray.length; i++)
//        {
//            sb.append(roomArray[i]).append(":*").append(searchPhrase).append("*");
//            if ((roomArray.length > 1) && (i != roomArray.length - 1)) {
//                sb.append(" OR ");
//            }
//        }
//        parMap.put("q", sb.toString());
////        parMap.put("fl", "id," + roomParam);
//
//        SolrQuery params = new SolrQuery();
//        Iterator<Map.Entry<String, String>> it = parMap.entrySet().iterator();
//        while (it.hasNext())
//        {
//            Map.Entry<String, String> entry = (Map.Entry)it.next();
//            params.set((String)entry.getKey(), new String[] { (String)entry.getValue() });
//        }
//        long totalTime = 0;
//        for(int i=0;i<100;i++) {
//            long startTime = System.currentTimeMillis();
//            QueryResponse rsp = client.query("WojiayunSolrCore", params);
//            SolrDocumentList docs = rsp.getResults();
//            System.out.println(docs.size());
//            totalTime += System.currentTimeMillis() - startTime;
//        }
//        System.out.println(totalTime + "ms");
//    }
//
//    private  void closeSolrClient(SolrClient client)
//    {
//        try
//        {
//            if (client != null) {
//                client.close();
//            }
//        }
//        catch (Exception localException) {}
//    }
//}
